package com.yazi.mxz.common.service;


import com.myframework.smhj.hibernate.Searching;
import com.myframework.smhj.hibernate.Page;
import com.myframework.smhj.hibernate.dao.Service;
import com.yazi.mxz.common.entity.beans.MemberNotice;

public interface MemberNoticeService extends Service<MemberNotice> {
	
	
	
	/**
	 * 查询用户通知记录数
	 * 以memberNotice的非null属性值作为查询条件,关键字searchWord
	 * @param mn
	 * @param searchWord
	 * @return
	 */
	int count(MemberNotice mn,String searchWord);
	
	/**
	 * 添加用户通知<br>
	 * 本方法不检查对象属性值的合法性,需要构建完整的对象才能调用本方法
	 * @param mn 用户通知(构建对象)
	 * @return
	 */
	MemberNotice add(MemberNotice mn);
	
	/**
	 * 批量删除用户通知
	 * @param memberId
	 * @param noticeIds
	 * @return
	 */
	void removeByMemberId(long memberId, long[] noticeIds);
	
	/**
	 * 更新指定用户所有的通知为"已查看"状态
	 * @param memberId
	 * @param noticeIds
	 */
	void editStatusToViewed(long memberId);
	
	/**
	 * 根据用户按添加时间倒序查询用户通知
	 * @param memberId
	 * @param si
	 * @return
	 */
	Page<MemberNotice> listByMemberId(long memberId, Searching si);
}
